#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int ListDateType;

typedef struct ListNode
{
	ListDateType val;
	struct ListNode* next;
	struct ListNode* prev;
}LTNode;

LTNode* ListInit();
void printList(LTNode* phead);
void ListPushBack(LTNode* phead, ListDateType x);
void ListPopBack(LTNode* phead);
void ListPushFront(LTNode* phead, ListDateType x);
void ListPopFront(LTNode* phead);
LTNode* getNodePos(LTNode* phead, ListDateType x);
void ListInsert(LTNode* pos, ListDateType x);
void ListErase(LTNode* pos);
void ListDestroy(LTNode* phead);
